package com.fw.service.outboundmessagelog.bean;

import java.util.Date;

import javax.validation.constraints.Digits;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotBlank;

import com.fw.service.bean.BaseBean;

public class OutboundMessageLogBean extends BaseBean {
    public static final String STATUS_PENDING = "A";
    public static final String STATUS_PAID = "S";
    public static final String STATUS_EXPIRED = "E";
    public static final String STATUS_NOTFOUND = "Z";
    /**
	 * 
	 */
    private static final long serialVersionUID = 1L;

    private Long id;

    @NotBlank(message = "Merchant ID is mandatory.")
    @Size(min = 1, max = 10, message = "Merchant ID size must be between {min} and {max}")
    private String mid;

    @NotBlank(message = "Merchant Transaction ID is mandatory.")
    @Size(min = 1, max = 25, message = "Merchant Transaction ID size must be between {min} and {max}")
    private String inv;

    @NotBlank(message = "Transaction Description is mandatory.")
    @Size(min = 1, max = 50, message = "Transaction Description size must be between {min} and {max}")
    private String desp;

    @NotBlank(message = "Amount is mandatory.")
    @Digits(integer = 9, fraction = 2, message = "Amount value out of bounds (<{integer} digits>.<{fraction} digits> expected)")
    private String amt;

    // @NotBlank(message = "Currency Type is mandatory.")
    // @Size(min = 1, max = 3, message =
    // "Currency Type size must be between {min} and {max}")
    private String Currency_code;

    @NotBlank(message = "Service ID is mandatory.")
    @Size(min = 1, max = 6, message = "Service ID size must be between {min} and {max}")
    private String serviceid;

    @NotBlank(message = "Language is mandatory.")
    @Size(min = 1, max = 2, message = "Language size must be between {min} and {max}")
    private String language;

    @NotBlank(message = "Customer Name is mandatory.")
    @Size(min = 1, max = 100, message = "Customer Name size must be between {min} and {max}")
    private String customer_name;

    @NotBlank(message = "Customer Email is mandatory.")
    @Size(min = 1, max = 100, message = "Customer Email size must be between {min} and {max}")
    private String customer_email;

    @NotBlank(message = "Customer Phone is mandatory.")
    @Size(min = 1, max = 10, message = "Customer Phone size must be between {min} and {max}")
    private String customer_phone;

    @NotBlank(message = "Response URL Back is mandatory.")
    @Size(min = 1, max = 200, message = "Response URL Back size must be between {min} and {max}")
    private String resp_url_back;

    @NotBlank(message = "Response URL Cancel is mandatory.")
    @Size(min = 1, max = 200, message = "Response URL Cancel size must be between {min} and {max}")
    private String resp_url_cancel;

    @NotBlank(message = "Response URL Confirm is mandatory.")
    @Size(min = 1, max = 200, message = "Response URL Confirm size must be between {min} and {max}")
    private String resp_url_confirm;

    private String expired_date;

    @Size(min = 0, max = 38, message = "Message Slip1 maximum length must be 38")
    private String message_slip1;

    @Size(min = 0, max = 38, message = "Message Slip2 maximum length must be 38")
    private String message_slip2;

    private String ptransid;

    private Date paymentDate;

    private Date processDate;

    private String status;

    public String getMid() {
	return mid;
    }

    public void setMid(String mid) {
	this.mid = mid;
    }

    public String getInv() {
	return inv;
    }

    public void setInv(String inv) {
	this.inv = inv;
    }

    public String getDesp() {
	return desp;
    }

    public void setDesp(String desp) {
	this.desp = desp;
    }

    public String getAmt() {
	return amt;
    }

    public void setAmt(String amt) {
	this.amt = amt;
    }

    public String getCurrency_code() {
	return Currency_code;
    }

    public void setCurrency_code(String currency_code) {
	Currency_code = currency_code;
    }

    public String getServiceid() {
	return serviceid;
    }

    public void setServiceid(String serviceid) {
	this.serviceid = serviceid;
    }

    public String getLanguage() {
	return language;
    }

    public void setLanguage(String language) {
	this.language = language;
    }

    public String getCustomer_name() {
	return customer_name;
    }

    public void setCustomer_name(String customer_name) {
	this.customer_name = customer_name;
    }

    public String getCustomer_email() {
	return customer_email;
    }

    public void setCustomer_email(String customer_email) {
	this.customer_email = customer_email;
    }

    public String getCustomer_phone() {
	return customer_phone;
    }

    public void setCustomer_phone(String customer_phone) {
	this.customer_phone = customer_phone;
    }

    public String getResp_url_back() {
	return resp_url_back;
    }

    public void setResp_url_back(String resp_url_back) {
	this.resp_url_back = resp_url_back;
    }

    public String getResp_url_cancel() {
	return resp_url_cancel;
    }

    public void setResp_url_cancel(String resp_url_cancel) {
	this.resp_url_cancel = resp_url_cancel;
    }

    public String getResp_url_confirm() {
	return resp_url_confirm;
    }

    public void setResp_url_confirm(String resp_url_confirm) {
	this.resp_url_confirm = resp_url_confirm;
    }

    public String getExpired_date() {
	return expired_date;
    }

    public void setExpired_date(String expired_date) {
	this.expired_date = expired_date;
    }

    public String getMessage_slip1() {
	return message_slip1;
    }

    public void setMessage_slip1(String message_slip1) {
	this.message_slip1 = message_slip1;
    }

    public String getMessage_slip2() {
	return message_slip2;
    }

    public void setMessage_slip2(String message_slip2) {
	this.message_slip2 = message_slip2;
    }

    public String getPtransid() {
	return ptransid;
    }

    public void setPtransid(String ptransid) {
	this.ptransid = ptransid;
    }

    public Date getPaymentDate() {
	return paymentDate;
    }

    public void setPaymentDate(Date paymentDate) {
	this.paymentDate = paymentDate;
    }

    public Date getProcessDate() {
	return processDate;
    }

    public void setProcessDate(Date processDate) {
	this.processDate = processDate;
    }

    public String getStatus() {
	return status;
    }

    public void setStatus(String status) {
	this.status = status;
    }

    public Long getId() {
	return id;
    }

    public void setId(Long id) {
	this.id = id;
    }

}
